// fs模块用来读取文件
const fs = require('fs');
const path = require('path');



// 引入http模块
const http = require('http');
// 创建服务器
let server = http.createServer()
// 监听3001端口
server.listen(3001, () => {
    console.log("ok");
})


// 监听用户的请求事件
server.on("request", (req, res) => {

    if(req.url=="/favicon.ico"){
        res.end()
        return
    }

    res.setHeader("Content-Type","text/html;charset=utf-8")




    // console.log(decodeURI(req.url));
    // new URL(完整路径)  new URL(路径,base)
    let { searchParams } = new URL(decodeURI(req.url), "http://localhost:3001/")
    //console.log(searchParams);

    //1、用户提交过来的数据
    let username = searchParams.get("username")
    let password = searchParams.get("password")
    // console.log(username,password);




    // 2、请求数据库中的数据
    let filepath = path.join(__dirname, "./data/persons.json")
    let persons = JSON.parse(fs.readFileSync(filepath, "utf-8"))
    // console.log(persons);


    // 3、判断persons里面的每一项，是否和user信息一样
    let index = persons.findIndex(item => {
        return username == item.username
    });



    if(index==-1){
        // 可以注册

        // 把用户提交过来的信息添加到persons里头
        persons.push(  {username,password}  )
        console.log(persons);

        // 把persons数据，重新写入到persons.json中
        fs.writeFileSync(filepath,JSON.stringify(persons)   )
        

        res.end("注册成功")
    }else{


        res.end("此用户名已经注册")
    }




})